# -*- coding: utf-8 -*-
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
from google.cloud.networkconnectivity_v1 import gapic_version as package_version

__version__ = package_version.__version__


from .services.cross_network_automation_service import (
    CrossNetworkAutomationServiceAsyncClient,
    CrossNetworkAutomationServiceClient,
)
from .services.data_transfer_service import (
    DataTransferServiceAsyncClient,
    DataTransferServiceClient,
)
from .services.hub_service import HubServiceAsyncClient, HubServiceClient
from .services.internal_range_service import (
    InternalRangeServiceAsyncClient,
    InternalRangeServiceClient,
)
from .services.policy_based_routing_service import (
    PolicyBasedRoutingServiceAsyncClient,
    PolicyBasedRoutingServiceClient,
)
from .types.common import OperationMetadata
from .types.cross_network_automation import (
    ConnectionErrorType,
    CreateServiceConnectionMapRequest,
    CreateServiceConnectionPolicyRequest,
    CreateServiceConnectionTokenRequest,
    DeleteServiceClassRequest,
    DeleteServiceConnectionMapRequest,
    DeleteServiceConnectionPolicyRequest,
    DeleteServiceConnectionTokenRequest,
    GetServiceClassRequest,
    GetServiceConnectionMapRequest,
    GetServiceConnectionPolicyRequest,
    GetServiceConnectionTokenRequest,
    Infrastructure,
    IPVersion,
    ListServiceClassesRequest,
    ListServiceClassesResponse,
    ListServiceConnectionMapsRequest,
    ListServiceConnectionMapsResponse,
    ListServiceConnectionPoliciesRequest,
    ListServiceConnectionPoliciesResponse,
    ListServiceConnectionTokensRequest,
    ListServiceConnectionTokensResponse,
    ServiceClass,
    ServiceConnectionMap,
    ServiceConnectionPolicy,
    ServiceConnectionToken,
    UpdateServiceClassRequest,
    UpdateServiceConnectionMapRequest,
    UpdateServiceConnectionPolicyRequest,
)
from .types.data_transfer import (
    CreateDestinationRequest,
    CreateMulticloudDataTransferConfigRequest,
    DeleteDestinationRequest,
    DeleteMulticloudDataTransferConfigRequest,
    Destination,
    GetDestinationRequest,
    GetMulticloudDataTransferConfigRequest,
    GetMulticloudDataTransferSupportedServiceRequest,
    ListDestinationsRequest,
    ListDestinationsResponse,
    ListMulticloudDataTransferConfigsRequest,
    ListMulticloudDataTransferConfigsResponse,
    ListMulticloudDataTransferSupportedServicesRequest,
    ListMulticloudDataTransferSupportedServicesResponse,
    MulticloudDataTransferConfig,
    MulticloudDataTransferSupportedService,
    ServiceConfig,
    StateTimeline,
    UpdateDestinationRequest,
    UpdateMulticloudDataTransferConfigRequest,
)
from .types.hub import (
    AcceptHubSpokeRequest,
    AcceptHubSpokeResponse,
    AcceptSpokeUpdateRequest,
    AcceptSpokeUpdateResponse,
    AutoAccept,
    CreateHubRequest,
    CreateSpokeRequest,
    DeleteHubRequest,
    DeleteSpokeRequest,
    GetGroupRequest,
    GetHubRequest,
    GetRouteRequest,
    GetRouteTableRequest,
    GetSpokeRequest,
    Group,
    Hub,
    HubStatusEntry,
    LinkedInterconnectAttachments,
    LinkedProducerVpcNetwork,
    LinkedRouterApplianceInstances,
    LinkedVpcNetwork,
    LinkedVpnTunnels,
    ListGroupsRequest,
    ListGroupsResponse,
    ListHubSpokesRequest,
    ListHubSpokesResponse,
    ListHubsRequest,
    ListHubsResponse,
    ListRoutesRequest,
    ListRoutesResponse,
    ListRouteTablesRequest,
    ListRouteTablesResponse,
    ListSpokesRequest,
    ListSpokesResponse,
    LocationFeature,
    LocationMetadata,
    NextHopInterconnectAttachment,
    NextHopRouterApplianceInstance,
    NextHopVpcNetwork,
    NextHopVPNTunnel,
    PolicyMode,
    PresetTopology,
    PscPropagationStatus,
    QueryHubStatusRequest,
    QueryHubStatusResponse,
    RejectHubSpokeRequest,
    RejectHubSpokeResponse,
    RejectSpokeUpdateRequest,
    RejectSpokeUpdateResponse,
    Route,
    RouterApplianceInstance,
    RouteTable,
    RouteType,
    RoutingVPC,
    Spoke,
    SpokeSummary,
    SpokeType,
    State,
    UpdateGroupRequest,
    UpdateHubRequest,
    UpdateSpokeRequest,
)
from .types.internal_range import (
    CreateInternalRangeRequest,
    DeleteInternalRangeRequest,
    GetInternalRangeRequest,
    InternalRange,
    ListInternalRangesRequest,
    ListInternalRangesResponse,
    UpdateInternalRangeRequest,
)
from .types.policy_based_routing import (
    CreatePolicyBasedRouteRequest,
    DeletePolicyBasedRouteRequest,
    GetPolicyBasedRouteRequest,
    ListPolicyBasedRoutesRequest,
    ListPolicyBasedRoutesResponse,
    PolicyBasedRoute,
)

__all__ = (
    "CrossNetworkAutomationServiceAsyncClient",
    "DataTransferServiceAsyncClient",
    "HubServiceAsyncClient",
    "InternalRangeServiceAsyncClient",
    "PolicyBasedRoutingServiceAsyncClient",
    "AcceptHubSpokeRequest",
    "AcceptHubSpokeResponse",
    "AcceptSpokeUpdateRequest",
    "AcceptSpokeUpdateResponse",
    "AutoAccept",
    "ConnectionErrorType",
    "CreateDestinationRequest",
    "CreateHubRequest",
    "CreateInternalRangeRequest",
    "CreateMulticloudDataTransferConfigRequest",
    "CreatePolicyBasedRouteRequest",
    "CreateServiceConnectionMapRequest",
    "CreateServiceConnectionPolicyRequest",
    "CreateServiceConnectionTokenRequest",
    "CreateSpokeRequest",
    "CrossNetworkAutomationServiceClient",
    "DataTransferServiceClient",
    "DeleteDestinationRequest",
    "DeleteHubRequest",
    "DeleteInternalRangeRequest",
    "DeleteMulticloudDataTransferConfigRequest",
    "DeletePolicyBasedRouteRequest",
    "DeleteServiceClassRequest",
    "DeleteServiceConnectionMapRequest",
    "DeleteServiceConnectionPolicyRequest",
    "DeleteServiceConnectionTokenRequest",
    "DeleteSpokeRequest",
    "Destination",
    "GetDestinationRequest",
    "GetGroupRequest",
    "GetHubRequest",
    "GetInternalRangeRequest",
    "GetMulticloudDataTransferConfigRequest",
    "GetMulticloudDataTransferSupportedServiceRequest",
    "GetPolicyBasedRouteRequest",
    "GetRouteRequest",
    "GetRouteTableRequest",
    "GetServiceClassRequest",
    "GetServiceConnectionMapRequest",
    "GetServiceConnectionPolicyRequest",
    "GetServiceConnectionTokenRequest",
    "GetSpokeRequest",
    "Group",
    "Hub",
    "HubServiceClient",
    "HubStatusEntry",
    "IPVersion",
    "Infrastructure",
    "InternalRange",
    "InternalRangeServiceClient",
    "LinkedInterconnectAttachments",
    "LinkedProducerVpcNetwork",
    "LinkedRouterApplianceInstances",
    "LinkedVpcNetwork",
    "LinkedVpnTunnels",
    "ListDestinationsRequest",
    "ListDestinationsResponse",
    "ListGroupsRequest",
    "ListGroupsResponse",
    "ListHubSpokesRequest",
    "ListHubSpokesResponse",
    "ListHubsRequest",
    "ListHubsResponse",
    "ListInternalRangesRequest",
    "ListInternalRangesResponse",
    "ListMulticloudDataTransferConfigsRequest",
    "ListMulticloudDataTransferConfigsResponse",
    "ListMulticloudDataTransferSupportedServicesRequest",
    "ListMulticloudDataTransferSupportedServicesResponse",
    "ListPolicyBasedRoutesRequest",
    "ListPolicyBasedRoutesResponse",
    "ListRouteTablesRequest",
    "ListRouteTablesResponse",
    "ListRoutesRequest",
    "ListRoutesResponse",
    "ListServiceClassesRequest",
    "ListServiceClassesResponse",
    "ListServiceConnectionMapsRequest",
    "ListServiceConnectionMapsResponse",
    "ListServiceConnectionPoliciesRequest",
    "ListServiceConnectionPoliciesResponse",
    "ListServiceConnectionTokensRequest",
    "ListServiceConnectionTokensResponse",
    "ListSpokesRequest",
    "ListSpokesResponse",
    "LocationFeature",
    "LocationMetadata",
    "MulticloudDataTransferConfig",
    "MulticloudDataTransferSupportedService",
    "NextHopInterconnectAttachment",
    "NextHopRouterApplianceInstance",
    "NextHopVPNTunnel",
    "NextHopVpcNetwork",
    "OperationMetadata",
    "PolicyBasedRoute",
    "PolicyBasedRoutingServiceClient",
    "PolicyMode",
    "PresetTopology",
    "PscPropagationStatus",
    "QueryHubStatusRequest",
    "QueryHubStatusResponse",
    "RejectHubSpokeRequest",
    "RejectHubSpokeResponse",
    "RejectSpokeUpdateRequest",
    "RejectSpokeUpdateResponse",
    "Route",
    "RouteTable",
    "RouteType",
    "RouterApplianceInstance",
    "RoutingVPC",
    "ServiceClass",
    "ServiceConfig",
    "ServiceConnectionMap",
    "ServiceConnectionPolicy",
    "ServiceConnectionToken",
    "Spoke",
    "SpokeSummary",
    "SpokeType",
    "State",
    "StateTimeline",
    "UpdateDestinationRequest",
    "UpdateGroupRequest",
    "UpdateHubRequest",
    "UpdateInternalRangeRequest",
    "UpdateMulticloudDataTransferConfigRequest",
    "UpdateServiceClassRequest",
    "UpdateServiceConnectionMapRequest",
    "UpdateServiceConnectionPolicyRequest",
    "UpdateSpokeRequest",
)
